<?php

/**
 * The base functionlities that all Controllers should have.
 *
 *
 * @author Ishtiaque Shahrier <md.ishtiaque@newgenbd.net>
 * @package core
 * @subpackage libraries
 */
interface i_base_controller {
    /**
     * 
     * @param string $name variable name on the smarty conse
     * @param mixed  $value 
     * @return void
     */
    public function assign($name, $value);
    /**
     * Gets you the smarty object/template engine object
     * @return object
     */
    public function smarty();
    /**
     * Call this function to send the final output on the user page and displays
     * @return void
     */
    public function view($name=NULL);
    /**
     * Return the codeigniter object
     * @return object
     */
    public function ci();
    /**
     * Every controller should implement this function.This should be the function
     * where you include/assign all class variables in the smarty console by calling either the
     * assign($name,$var) functoin or by the smarty object's direct call.
     * @return void
     */
    public function batch_assign();

    
}
